HOWTOs
HOWTOs are detailed documents describing "how to" accomplish something specific. Most of them will assume a basic understanding of the WoW scripting language and framework. For more information on the framework please refer to Portal:Interface customization, AddOns, and World of Warcraft API. This list may be incomplete; all HOWTOs are listed on Category:HOWTOs. Getting Started ;Getting started with writing addons : An overview of the tools, code and file types involved in creating addons. ;AddOn programming tutorial/Introduction (Overview Page) : Creating a Hello World! AddOn. ;Setting up Visual Studio for WoW XML : On a Windows platform, you can use Visual Studio to create XML descriptions of interfaces. General Lua tutorials *Common Lua shortcuts - Commonly occurring uses of Lua logic evaluation short-cuts, method syntax and the global environment. *Function arguments - Declaring and passing arguments to functions. *Using the argument '...' efficiently - Tips involving the vararg operator. *Hooking functions - Functions are first-class values in Lua, which allows you to override or extend the behavior of already declared functions. *Pattern matching - An overview of the regular expression features of Lua. *Lua basics - a few basic hints and notes about Lua General Addon tutorials ;Getting the current interface number : For use in .toc files. ;Handling events : Creating, and managing event handler code. ;Saving variables between game sessions : Description and examples of saving variables to disk. ;Creating defaults : creating default values in your addon's saved variables. ;Localizing an addon : General techniques enabling localization. ;Using OnUpdate correctly : Throttling OnUpdate code execution. Using FrameXML ;Creating GUI configuration options : A custom configuration frame tutorial. ;Creating tabbed windows : Using UIPanelTemplates to create tabs. ;Creating a slash command : Creating and using slash command handlers. ;Creating your own chat types : Adding new chat types allows users to redirect your addon's chat output to one or more desired chat frames. ;Making a scrollable list using FauxScrollFrameTemplate : FauxScrollFrameTemplate tutorial. ;Creating standard left-sliding frames : using the UIPanelLayout attributes to manage your frame's position. ;Make Frames Closable With the "Esc" Key : using UISpecialFrames to enable this behavior. ;Removing Blizzard default frames : Maps default UI elements to frame names and suggests use of the :Hide() widget function. ;Hooking outgoing chat messages : Describes a mechanism to alter outgoing chat messages. ;Creating simple pop-up dialog boxes: Using StaticPopup to display simple prompts. ;Using the ColorPickerFrame : Invoking the default color picker. ;Using UIDropDownMenu : Drop down boxes and menus using the FrameXML API. ;Using the Interface Options Addons panel : Describes how to create an option panel that works with the default UI's Interface Options frame. ;Using bindings.xml to create key bindings for your addon : Enabling default UI bindings. Widgets ;HOWTO: Scroll EditBoxes to the left programatically ;Making Draggable Frames : Describes several methods to allow the user to move a frame. Miscellaneous ;Detecting an instant cast spell : Using the UNIT_SPELLCAST_SUCCEEDED event. ;Identifying buffs using textures ;HOWTO: Speed up string match lookups : Describes how to potentially speed up multiple similar pattern string matching. ;HOWTO: Use Tables Without Generating Extra Garbage : An overview of techniques enabling table reuse and avoiding excessive garbage generation. See also * Making a macro : An overview of the various macro slash commands. Category:Interface customization